﻿using System;
using System.ComponentModel;

namespace YArchitech.Electric.Controls
{
	public class HYProperty
	{
		public HYProperty()
		{
		}

		public HYProperty(string category, string name, string value)
		{
			this._category = category;
			this._name = name;
			this._value = value;
		}

		public string Category
		{
			get
			{
				return this._category;
			}
			set
			{
				this._category = value;
			}
		}

		public string Name
		{
			get
			{
				return this._name;
			}
			set
			{
				this._name = value;
			}
		}

		public string DisplayName
		{
			get
			{
				return this._displayName;
			}
			set
			{
				this._displayName = value;
			}
		}

		public object Value
		{
			get
			{
				return this._value;
			}
			set
			{
				this._value = value;
			}
		}

		public bool ReadOnly
		{
			get
			{
				return this._readOnly;
			}
			set
			{
				this._readOnly = value;
			}
		}

		public bool Visible
		{
			get
			{
				return this._visible;
			}
			set
			{
				this._visible = value;
			}
		}

		public string Description
		{
			get
			{
				return this._description;
			}
			set
			{
				this._description = value;
			}
		}

		public TypeConverter Converter
		{
			get
			{
				return this._converter;
			}
			set
			{
				this._converter = value;
			}
		}

		public virtual object Editor
		{
			get
			{
				return this._editor;
			}
			set
			{
				this._editor = value;
			}
		}

		public object Tag
		{
			get
			{
				return this._tag;
			}
			set
			{
				this._tag = value;
			}
		}

		private string _category = string.Empty;

		private string _name = string.Empty;

		private string _displayName = string.Empty;

		private object _value;

		private bool _readOnly = true;

		private bool _visible = true;

		private string _description = string.Empty;

		private TypeConverter _converter;

		private object _editor;

		private object _tag;
	}
}
